Automatic identification of additional content for webpages

ABSTRACT

The present disclosure relates to systems and methods for automatically identifying additional content for a webpage. The systems and methods may create a side pane placed next to a webpage to supplement the webpage in a browser. The side pane may provide additional information or additional content to help users consume the webpage. The additional content may provide webpage insights and help the users further explore the webpage.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to and the benefit of U.S. ProvisionalPatent Application No. 63/270,459, filed on Oct. 21, 2021, which ishereby incorporated by reference in its entirety.

BACKGROUND

Users engage with browsers for content discovery, for example, byviewing different webpages or watching multimedia content (photos,videos, images). Users also engage with browsers to perform end-to-endtask completions (e.g., performing a search query for a topic andfinding relevant content or answers for the topic, or searching for aproduct and purchasing a product). Currently, when a user is viewing awebpage on a browser, the browser does not provide solutions to assistthe user in understanding the current web page's content.

BRIEF SUMMARY

The present disclosure describes systems and methods for identifyingadditional content for a webpage. For example, in response to a useraccessing a webpage with an article on a virus, the system may identifyadditional content to present in a side pane adjacent to the webpage.The additional content may include a summary of the article with the keypoints of the article so that the user may read the key points of thearticle to get an understanding of the content of the webpage. The sidepane may remain in view of the webpage with the article on the virus. Asdescribed in greater detail below, the additional content may beidentified based on the content or context of the webpage being accessedby the user. The additional content may also include content derivedfrom the webpage (e.g., information from the article). In this way, thesystem presents additional content in a side pane that helps the userconsume the webpage or supplement the webpage.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

One example implementation relates to a method for automaticallyidentifying additional content for a webpage. The method may includereceiving a request for additional content for the webpage, wherein therequest includes a uniform resource locator (URL) of the webpage. Themethod may include classifying the URL of the webpage. The method mayinclude triggering a side pane experience for the additional contentbased on the classification of the webpage. The method may includeaggregating additional content obtained from one or more data sourcesfor the side pane experience, wherein the additional content is obtainedbased on a context of the webpage. The context of the webpage includesthe content of the webpage. The method may include sending theadditional content to a browser to be presented in a side pane adjacentto the webpage. The method improves user efficiency by organizing andarranging the additional content into modules. In addition, the methodreduces the need for users to navigate to multiple websites, and thus,reduce user inputs and/or clicks.

Another example implementation relates to a method for presentingadditional content for a webpage. The method may include identifying auniform resource locator (URL) of a webpage accessed by a browser. Themethod may include sending a request for additional content, wherein therequest includes the URL of the webpage. The method may includereceiving the additional content, wherein the additional is based on acontext of the webpage. The method may include presenting the additionalcontent in a side pane next to the webpage.

Additional features and advantages will be set forth in the descriptionwhich follows, and in part will be obvious from the description, or maybe learned by the practice of the teachings herein. Features andadvantages of the disclosure may be realized and obtained by means ofthe instruments and combinations particularly pointed out in theappended claims. Features of the present disclosure will become morefully apparent from the following description and appended claims or maybe learned by the practice of the disclosure as set forth hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and otherfeatures of the disclosure can be obtained, a more particulardescription will be rendered by reference to specific implementationsthereof which are illustrated in the appended drawings. For betterunderstanding, the like elements have been designated by like referencenumbers throughout the various accompanying figures. While some of thedrawings may be schematic or exaggerated representations of concepts, atleast some of the drawings may be drawn to scale. Understanding that thedrawings depict some example implementations, the implementations willbe described and explained with additional specificity and detailthrough the use of the accompanying drawings in which:

FIG. 1 illustrates an example environment for identifying and presentingadditional content for a webpage in accordance with implementations ofthe present disclosure.

FIG. 2 illustrates an example method for identifying additional contentfor a webpage in accordance with implementations of the presentdisclosure.

FIG. 3 illustrates an example graphical user interface of a browserdisplaying a webpage and a side pane including a summary module inaccordance with implementations of the present disclosure.

FIG. 4 illustrates an example graphical user interface of a browserdisplaying a webpage and a side pane including a page overview moduleand a topics module in accordance with implementations of the presentdisclosure.

FIG. 5 illustrates an example graphical user interface of a browserdisplaying a webpage and a side pane including a questions and answermodule in accordance with implementations of the present disclosure.

FIG. 6 illustrates an example graphical user interface of a browserdisplaying a webpage and a side pane including a knowledge card modulein accordance with implementations of the present disclosure.

FIG. 7 illustrates an example graphical user interface of a browserdisplaying a webpage and a side pane including an about the sourcemodule in accordance with implementations of the present disclosure.

FIG. 8 illustrates an example graphical user interface of a browserdisplaying a webpage and a side pane including a recommended contentmodule in accordance with implementations of the present disclosure.

FIG. 9 illustrates an example graphical user interface of a browserdisplaying a webpage and a side pane including a books module inaccordance with implementations of the present disclosure.

FIG. 10 illustrates an example graphical user interface of a side paneincluding a shopping module in accordance with implementations of thepresent disclosure.

FIG. 11 illustrates an example graphical user interface of a side paneincluding a travel module in accordance with implementations of thepresent disclosure.

FIG. 12 illustrates an example graphical user interface of a side paneincluding a food module in accordance with implementations of thepresent disclosure.

FIG. 13 illustrates an example graphical user interface of a browserdisplaying a webpage and a side pane including a cooking module inaccordance with implementations of the present disclosure.

FIG. 14 illustrates an example graphical user interface of a browserdisplaying a webpage and a side pane including related videos and imagesin accordance with implementations of the present disclosure.

FIG. 15 illustrates an example method for automatically identifyingadditional content for a webpage in accordance with implementations ofthe present disclosure.

FIG. 16 illustrates an example method for presenting additional contentfor a webpage in accordance with implementations of the presentdisclosure.

DETAILED DESCRIPTION

This disclosure generally relates to identifying additional content fora webpage currently being viewed or engaged with by a user. Users engagewith browsers for content discovery, for example, by viewing differentwebpages or watching multimedia content (photos, videos, images). Usersalso engage with browsers to perform end-to-end task completions (e.g.,performing a search query for a topic and finding relevant content oranswers for the topic, or searching for a product and purchasing aproduct). Currently, when a user is viewing a webpage on a browser, thebrowser does not provide solutions to assist the user in understandingthe current web page's content.

The systems and methods of the present disclosure help users completeend-to-end tasks while browsing all sorts of web pages without breakingthe users' current workflow. The present invention provides webpageinsights, such as, a webpage summary, webpage topics, identifying orproviding key entities that help users consume the current webpage'scontent, and/or recommending contextual or personalized content (e.g.,related articles for users to further explore).

The systems and methods of the present disclosure provide users, acontextual and personalized feed with additional content relevant to thecontent that the users are currently consuming. The present disclosureassists users to better understand the currently viewed content andhelps users explore related content. In addition, the present disclosureenables users to interact with the viewed content or with users withsimilar interests.

The systems and methods of the present disclosure create a side panethat may be placed on the right side of a browser to supplement awebpage that a user is viewing. The side pane provides additionalinformation and/or additional content to the user to help the userconsume the current webpage the user is browsing using the browser. Theside pane remains with the main view of the webpage.

The side pane may be positioned at the right rail of the browser with acontextualized and/or a personalized feed of additional content. Theside pane is opened either reactively by the user or proactively by analgorithm as a companion canvas for the user's currently browsedwebpage. The contextualized and/or personalized feed may be organizedinto different tabs or modules.

An example use case is a user viewing webpage for a book. An example tabor module shown in the side pane includes an on this page module thatshows a short passage as a webpage summary followed by a list of salienttopics, entities, and key phrases extracted from the webpage as itsoverview, frequently asked questions (FAQs) about the webpage content,as well as the webpage view count and social reactions (number of likes,loves, surprised, etc.) to illustrate the webpage popularity. As thewebpage is about a book, the present disclosure may also present a richknowledge card of the book in the side pane so that interested users canlearn more about the book, read its reviews, and/or purchase the book.Another example tab or module shown in the side pane includes a more foryou module that returns a feed of related articles, questions andanswers (e.g., about the book in the webpage, the author, her PulitzerPrize, climate changes, etc.), related videos/images (such as booktrailer, cover images, etc.), related entities (other books by theauthor, about climate changes, on a summer reading list, etc.), andlink(s) or suggested queries for related searches for users to exploremore. In some implementations, selecting a link or suggested querycauses the corresponding search results to be displayed in the sidepane. Another example table or module shown in the side pane includes an‘about the source’ module that provides the website description of themagazine that published the webpage on the book, website quality (e.g.,quality in terms of spam, junk, adult, or malware detection), and a listof similar websites. The side pane may also show the topic authorityinformation of the website, user traffic trend of the webpage, and itsincoming links, to help the users evaluate the trustworthiness of thesource. Another example table or module shown in the side pane includesa user generated content module that allows the users to write reviewsof the book, as well as ask and answer questions about the book and theauthor.

As such, the systems and methods of the present disclosure providewebpage insights, such as, page summary, page topics, and/or keyentities that help the users consume the current webpage's content andrecommend contextual or personalized content (related articles) for theusers to further explore. The personalized content is based on thecontext that the user is browsing to help keep the user engaged in thebrowsing session. The personalized content may also include usergenerated content (e.g., comments on the webpage).

The systems and methods of the present disclosure may open the side panereactively based on the user's input. The user may click on a toolbaricon on the browser and, in response to the user clicking the toolbaricon, the side pane may open with the additional content (e.g., therecommended contextual or personalized content). The toolbar icon may beenabled all the time. As such, anytime the user is browsing webpagesusing the browser, the user may be able to click on the toolbar icon.

The additional content presented in the side pane may be based on thecontext of the webpage currently being browsed by the user. The contextof the webpage includes the content of the webpage. The systems andmethods search for related materials and optionally filters out resultsthat are the same as what is already in the webpage content. Inaddition, the additional content may include content derived from theweb page. For example, one or more machine learning models may identifythe content on the webpage and present the content of the webpage as theadditional content in the side pane.

The side pane may have one or more modules highlighting the additionalcontent. The modules of the side pane may help the user consume thecontent, help the user explore additional content, and/or help keep theuser engaged in the browsing experience. The additional contentpresented in the side pane may come from a plurality of sources. Forexample, if the webpage has a primary entity (e.g., Seattle Seahawks),an entity card for the primary entity may be presented in the side panewith an aggregation of content from a plurality of sources.

The modules on the side pane may include default modules (e.g., overviewmodule, source module, explore module). The overview module may includea plurality of modules (e.g., the key points in the webpage, webpagetopics, questions and answers) that help users consume the webpage. Theoverview module may also have a see more button where the user maybrowse additional content related to the webpage.

The key points module of the side pane may help the user review the keytakeaways from an article on the webpage. In addition, if the user is ina hurry, the user may skip reading the full content of the webpage andgo directly to the key points to get an understanding of the content ofthe webpage.

The webpage topics module of the side pane may be generated by machinelearning models reviewing the content of the webpage and associate thecontent of the webpages to topics mentioned in the webpage or topicsrelated to the content mentioned in the webpage. The user can click onthe topics and perform a search in the side pane for the topic selected(e.g., the phrase for the topic selected is automatically inputted as asearch term and a search is performed on the selected topic). The searchresults are provided in the side pane and the user may browse the searchresults for the topic selected in the side pane while keeping thewebpage that the user is currently browsing in the left pane.

The question and answer module of the side pane may include a pluralityof questions generated by a machine learning model with answers providedby content provided by the webpage.

The side pane may also have an explore module that helps the usercontinue to explore and be inspired based on the content of the webpage.The explore module may provide content recommendations related to thecurrent webpage based on the context of the current webpage. Thepersonalized content module may personalize the content provided basedon the user's behavior and/or past user interactions with the browser.

If the webpage is private (e.g., bank login page) and the machinelearning models are unable to identify the content of the webpage, theexplore module may present personalized content based on the user's pastbehaviors interacting with the browser. The user's interactions with thebrowser may include, for example, selecting banners on the webpage,webpages viewed, and/or previous search topics. The content presentedmay be personalized based on previous search interests (sports, health,do it yourself (DIY)).

The side pane may also have an ‘about the source’ module that providesinformation about the source of the webpage (a disclaimer of the source,a description of the source, quick links that the user can continue tobrowse).

The modules included in the side pane may vary based on the domain ofthe webpage. For example, news, finance, shopping, weather, maps,sports, shopping, cooking, and travel domains may include differentmodules in the side pane. One example module for a sports webpage ornews webpage includes an entity module. If the webpage has a primaryentity (e.g., Seattle Seahawks), an entity card for the primary entitymay be presented in the side pane with an aggregation of content from aplurality of sources.

Another example module for a travel webpage may include an exploremodule that allows users to explore contextual recommendations for alocation based on the content of the webpage the user is viewing or asearch performed by the user (e.g., hotels in a location, search forflights for a location, recommendations for car rentals, recommendationsfor attractions or restaurants, and/or a map for the location withattractions or restaurants in the location highlighted).

Another example includes for a cooking webpage, the modules includeinformation about the recipe mentioned in the cooking webpage (e.g.,ingredients, cooking time, service portions) and/or modules with relatedrecipes to the recipe mentioned in the cooking webpage.

The user may open any of the modules of the side pane in a new tab. Inaddition, the user may resize the side pane by increasing and/ordecreasing the size of the side pane.

In an implementation, the side pane is presented automatically. The sidepane may be presented automatically based on domain or category of awebpage that the user accessed. For example, a subset of webpage auniform resource locators (URLs) (e.g., cooking, travel, sports) mayautomatically trigger the side pane to display in the browser adjacentto or next to the webpage that the user selected.

The side pane may also include a search input where the user may inputsearch terms for a query and the search results for the query maysurface within the side pane. As such, the user may run multiplesearches in the side pane while viewing a webpage.

The systems and methods of the present disclosure may be used as areading assistant and a content discovery engine. The present disclosureleverages natural language understanding, machine reachingcomprehension, and personalized recommendation techniques to makecontent relevant to a users' current tasks and long-term interests. Insome implementations, the present disclosure is a companion browser witha mobile screen size run side-by-side the main browser to proactivelyprovide relevant information and enable further explorations withouttaking the users out of the current task workflow.

The systems and methods of the present disclosure are easily accessibleregardless of the websites that the users are browsing and providescontent aggregated across the entire World Wide Web, which is anadvantage over other content services that create data silos.

One technical advantage of some implementations of the systems andmethods of the present disclosure is providing additional contentpowered by a browser, and thus, user engagement with the browser mayincrease. In addition, the systems and methods improve user efficiencyby organizing and arranging the additional content into modules. Thesystems and methods also reduce the need for users to navigate tomultiple websites, and thus, reduce user inputs and/or clicks. Thesystems and methods also improve trust of the users as several of themodules allow the users to understand the source and reputation of thewebsites. Moreover, the systems and methods improve the accessibility ofwebsites that do not otherwise have good accessibility options.

As such, the systems and methods of the present disclosure provide acompanion canvas that gives users insight on the current viewed webdocument, enables in-depth exploration of the current topic, suggestionof new topics, understanding of various perspectives, and/or offersother in-context experiences to the users.

Referring now to FIG. 1 , illustrated is an example environment 100 foridentifying and presenting additional content for a webpage. Theenvironment 100 may include one or more users 114 interacting with oneor more browsers 102 on a device. The browsers 102 allow the users 114to interact with information on the World Wide Web. When a user 114requests a webpage 30 from a website (e.g., by performing a search usingthe browser 102 or entering in a uniform resource locator (URL) of awebsite using the browser 102), the browser 102 retrieves the content ofthe webpage 30 from a webserver and displays the webpage 30 on a displayof the user's device. The webpage 30 may be any webpage (third partywebpages or webpages from the same party that provides the browser 102).In addition, the browser 102 may be a browser application on a device ofthe user 114. Examples of browsers 102 include, but are not limited to,EDGE™ and INTERNET EXPLORER™.

The browser 102 may have a user interface rendering component 10 thatpresents the requested webpage 30 on the display. The user interfacerendering component 10 may also present a side pane 26 with additionalcontent 28 for the requested webpage 30. The side pane 26 may bepresented next to or adjacent to the webpage 30. For example, the sidepane 26 is presented by the user interface rendering component 10 on aright side of the requested webpage 30. In some implementations, thebrowser 102 provides a notification to the user 114 to inform the user114 that there may be additional content 28 for the requested webpage 30that may be of interest to the user. Notification may identify the iconor button on the browser 102 that the user 114 may click to receive theside pane 26 with the additional information.

The users 114 may select an icon or button on the browser 102 to triggerthe presentation of the side pane 26 with the additional informationand/or the additional content 28. The browser 102 may send a request 24to a runtime server 104 for the additional content 28 to present in theside pane 26 and the user interface rendering component 10 may presentthe side pane 26 with the received additional content 28. The browser102 may send the request 24 for the additional content 28 and the userinterface rendering component 10 may present the side pane 26 with theadditional content 28 based on a reactive trigger (e.g., the user 114clicking on a button).

In addition, the browser 102 may automatically send the request 24 tothe runtime server 104 for the additional content 28 and the userinterface rendering component 10 may automatically present the side pane26 with the received additional content 28 on the browser 102 inresponse to the user opening the webpage URL. Thus, the presentation ofthe side pane 26 on the browser 102 with the additional content 28 maybe triggered reactively (e.g., by the user 114 selecting an icon orbutton) or proactively (e.g., automatically upon the user opening awebpage URL).

The runtime server 104 may be a search engine that aggregates andreturns related and useful content with respect to the webpage 30 openedon the browser 102 by the user 114. The runtime server 104 provides asingle endpoint for the browsers 102 to connect with by aggregating thedifferent data sources 106 for the additional content 28 to present inthe side pane 26. The runtime server 104 also organizes the whole pageexperience for the side pane 26 and handles the user 114 interactionswith the side pane 26.

The input to the runtime server 104 is different from a traditionalsearch engine, where the input from the user 114 is a query. The runtimeserver 104 receives the URL of the webpage 30 requested by the user 114as input and may also receive the user interactions on the side pane 26(e.g., selecting a topic of interest to view additional content) asinput.

The runtime server 104 may include an event dispatcher component 12 thatreceives the request 24 from the browser 102 with the URL of the webpage30. The event dispatcher component 12 determines whether the request 24is new request (e.g., a new webpage opened by the user 114) or therequest 24 is a user interaction of a side pane 26 by the user 114.

If the request 24 is a new request (e.g., for a newly accessed webpage),the event dispatcher component 12 sends the request 24 with the URL ofthe webpage 30 to a page classification component 14. The pageclassification component 14 runs a URL classification of the URL of thewebpage 30 and determines whether to trigger the side pane 26 based onthe URL classification. Whether to trigger the side pane 26 may be arule based triggering (e.g., triggering based on a list of URLs ordomains) or custom triggering (e.g., based on partner services). The URLclassification may determine whether the URL of the webpage 30 is aprivate domain or a public domain. In addition, the URL classificationdetermines a domain of the webpage 30 (e.g., sports, travel, cooking,news, medical, etc.).

If the classification identifies the URL as a private webpage 30, thepage classification component 14 may prevent the presentation of theside pane 26 with the additional content based on the private webpageclassification. In addition, if the classification identifies the URL ina domain that is included on a list of domains to block or prevent thepresentation of the side pane 26 (e.g., offensive domains, adult contentdomains, spam domains), the page classification component 14 may preventthe presentation of the side pane 26 with the additional content 28based on the domain of the webpage 30. The page classification component14 may have one or more machine learning models that perform the URLclassification and the determination whether to trigger the presentationof the side pane 26 with the additional content 28. As such, the pageclassification component 14 may determine whether to trigger the sidepane 26 with the additional content 28 based on the classification ofthe URL of the webpage 30.

The page classification component 14 may communicate with the experiencetriggering component 16 to determine a side pane experience for theadditional content 28 based on the classification. The experiencetriggering component 16 may determine one or more modules and/orexperience levels to provide the additional content 28 in the side pane26. Different modules and/or experiences may be presented based on theclassification of the webpage 30. For example, the experience triggeringcomponent 16 may select different modules for different webpage domains.

The selection of the side pane experience may be a rule based triggering(e.g., triggering a selection of different modules based on a list ofURLs or domains). A generic experience may be triggered (e.g., a set ofpredefined modules may be presented in the side pane) for the webpage30, or a domain specific experience may be triggered (e.g., a specificset of modules are selected for presentation in the side pane) based onthe domain of the webpage 30. Example modules include, but are notlimited to, a summary module, a questions and answer module, arecommended content module, a personalized content module, a pageoverview module, an explore module, a topics module, a key pointsmodule, a knowledge card module, a source module, a cooking module, afood module, a travel module, a shopping module, and/or a books module.

For example, knowledge card module triggering is decided by the dominantentity stamping result for the webpage 30 and a page summary moduletriggering is based on whether the original webpage deserves a summaryand whether the summary will be helpful to the end user 114. Anotherexample for a cooking webpage includes modules with information aboutthe recipe mentioned in the cooking webpage (e.g., ingredients, cookingtime, service portions) and/or modules with related recipes to therecipe mentioned in the cooking webpage being selected by the experiencetriggering component 16. Another example for a private webpage (e.g.,bank login page) includes the experience triggering component 16selecting the modules that present personalized content. The experiencetriggering component 16 may have one or more machine learning modelsdetermining which modules or experience levels to use in the side pane26 for the webpage 30 and/or which additional content 28 to include inthe side pane 26. As such, the experience triggering component 16decides which side pane experiences to trigger for the input webpage 30.

After the triggering decisions are made by the page classificationcomponent 14 and/or the experience triggering component 16, the datagenerator component 18 sends out requests to corresponding data sources106 for data collection. The data sources 106 may include different datasources from heterogeneous data providers for different content (e.g.,article recommendations, questions and answers). For example, a pagesummary may come from a document index. In addition, other additionalcontent (e.g., a knowledge card, an entity pane and/or related answers)may be integrated by directly calling different data sources 106. Thedata sources 106 may provide the content at runtime when the requestcomes to the runtime server 104.

A data aggregator component 20 aggregates the collected content from thedata sources 106 and aggregates the collected content from a contentdatastore 108. The content datastore 108 may be a central document indexrepository that the data aggregator component 20 access when the request24 with a URL is received at the runtime server 104.

The content datastore 108 may have one or more machine learning modelsthat generate content offline. The content datastore 108 may receivecontent in a batch mode triggered offline on top of the web index datafollowing an URL selection module for the sake of capacity to supportthe webpages (e.g., important webpages or static webpages). The contentdatastore 108 may also receive content in a reactive streaming modetriggered when the user opens a webpage which is not in the contentrepository and/or web index. The content datastore 108 may also receivecontent when a new webpage is crawled by the web index crawler. Togetherthese three modes continue to update the content datastore 108 tocontinually refresh the content stored and provide updated content tothe data aggregator component 20 for use with the side pane. The dataaggregation component 20 provides the runtime server 104 moreflexibility to handle different data sources 106.

The data aggregator component 20 stores the additional content 28 into asession datastore 110 as a snapshot of the current user session for thewebpage 30. The snapshot provides an overview of the additional content28 presented to the user in the side pane 26 in the user session for thewebpage 30. The snapshot may be used to update the additional content 28in the side pane 26 in response to user interactions with the additionalcontent 28 to prevent the same additional content 28 presented to theuser 114. The user datastore 112 may store content related to the userprofile of the user 114.

The orchestrator component 22 fetches the data (e.g., the additionalcontent) from the session datastore 110 and organizes the additionalcontent 28 for rendering. The orchestrator component 22 finalizes thecomponents, rankings, and whole page optimization for presenting theadditional content in the side pane 26. The orchestrator component 22sends the additional content 28 to the user interface renderingcomponent 10 on the browser for rendering and presenting to the user 114in the side pane 26.

The rendering component 10 may present the additional content in theside pane 26 next to the webpage 30. The rendering component 10 mayfacilitate user interactions with the additional content on the sidepane 26, such as, clicking on a related article or scrolling down ordown. Updates to the user profile and session store based on the userinteractions may be sent to the runtime server 104 and updatedaccordingly to support a personalized experience for the user 114.

The rendering component 10 may perform additional processing on thepresentation of the side pane 26. For example, the rendering component10 may resize the side pane 26 (e.g., make the side pane bigger orsmaller by expanding a width of the side pane, reducing a width of theside pane, expanding a height of the side pane, and/or reducing a heightof the side pane) based on user input or device display characteristics(e.g., a size of the display). In addition, the rendering component 10may open the additional content 28 in a new tab based on user input. Forexample, if the user selects to open a topic of interest icon in a newtab, a webpage for the topic of interest may open in a new tab.

The environment 100 may have multiple machine learning models runningsimultaneously. In some implementations, one or more computing devicesare used to perform the processing of environment 100. The one or morecomputing devices may include, but are not limited to, server devices,personal computers, a mobile device, such as, a mobile telephone, asmartphone, a PDA, a tablet, or a laptop, and/or a non-mobile device.The features and functionalities discussed herein in connection with thevarious systems may be implemented on one computing device or acrossmultiple computing devices. For example, the browser 102, the runtimeserver 104, the data sources 106, the content datastore 108, the sessiondatastore 110, and/or the user datastore 112 are implemented wholly onthe same computing device. Another example includes one or moresubcomponents of the browser 102, the runtime server 104, the datasources 106, the content datastore 108, the session datastore 110,and/or the user datastore 112 implemented across multiple computingdevices. Moreover, in some implementations, the runtime server 104, thedata sources 106, the content datastore 108, the session datastore 110,and/or the user datastore 112 are implemented or processed on differentserver devices of the same or different cloud computing networks.Moreover, in some implementations, the features and functionalities areimplemented or processed on different server devices of the same ordifferent cloud computing networks.

In some implementations, each of the components of the environment 100is in communication with each other using any suitable communicationtechnologies. In addition, while the components of the environment 100are shown to be separate, any of the components or subcomponents may becombined into fewer components, such as into a single component, ordivided into more components as may serve a particular implementation.In some implementations, the components of the environment 100 includehardware, software, or both. For example, the components of theenvironment 100 may include one or more instructions stored on acomputer-readable storage medium and executable by processors of one ormore computing devices. When executed by the one or more processors, thecomputer-executable instructions of one or more computing devices canperform one or more methods described herein. In some implementations,the components of the environment 100 include hardware, such as aspecial purpose processing device to perform a certain function or groupof functions. In some implementations, the components of the environment100 include a combination of computer-executable instructions andhardware.

Referring now to FIG. 2 , illustrated is an example method 200 foridentifying additional content for a webpage. The actions of the method200 are discussed below with reference to the architecture of FIG. 1 .

At 1, the method 200 includes opening a webpage. The user 114 opens awebpage 30 (FIG. 1 ) on the browser 102 by, for example, clicking on theURL of the webpage 30.

At 1.1, the method 200 includes receiving a click of a button. The user114 clicks on a toolbar button on the browser 102 for the side pane 26(FIG. 1 ).

At 2, the method 200 includes collecting the URL of the webpage. Thebrowser 102 may collect the URL of the webpage 30.

At 3, the method 200 includes sending a request (e.g., request 24) tothe runtime server 104. The browser 102 may send the request 24 to theruntime server 104 for additional content 28 (FIG. 1 ) to present in aside pane 26 next to the webpage 30. The request 24 includes the URL ofthe webpage 30. The request 24 may be sent in response to the user 114selecting the button on the browser 102. In addition, the request 24 maybe automatically sent in response to the user 114 opening the webpage30.

At 4, the method 200 includes classifying the URL. The runtime server104 receives the request 24 and runs the URL classification to decidewhether to trigger the side pane 26 and determines a class and domainfor the URL.

At 5, the method 200 includes collecting and aggregating content. Basedon the webpage class and domain, the runtime server 104 collects andaggregates content from multiple data providers.

At 6, the method 200 includes orchestrating whole page optimization(WPO). After aggregating all available data, the runtime server 104performs an arbitration and whole page optimization targeting userengagement to determine the placement of all modules selected for theadditional content to include in the side pane. The whole pageoptimization determines a position of the modules and a ranking of themodules and determines the additional content 28 for placement in theside pane 26. The whole page optimization determines a design of theside pane 26 and how to show the additional content 28 in the side pane26 to optimize the presentation of the modules and the additionalcontent 28 in the side pane 26.

At 7, the method 200 includes sending the additional content to thebrowser. The runtime server 104 sends back the organized payload to aclient side (the browser 102) for rendering. For proactive triggering,the side pane 26 opens by default (automatically) once the data isreturned from runtime server 104.

At 8, the method 200 includes sending user interactions to the runtimeserver. After the loading of the first page on side pane 26, furtheruser interactions with the side pane 26 (e.g., scrolls, clicks in feeds,clicks on topics, clicks on a knowledge card, etc.) are sent to the sameruntime server 104.

At 9, the method 200 includes updating the session with refreshedcontent. Based on the interaction events, the runtime server 104 updatesthe session and user profiles and fetches additional content 28 with theupdated information. The refreshed content is sent back to client side(the browser 102) for an asynchronized update on the side pane 26.

If a side pane 26 is open on the browser 102, and the user inputs a newURL in an address bar to open a new webpage in a current tab, the method200 may start from action 2 to collect the new URL and request theruntime server 104 to refresh the side pane 26 with additional content28 related to the webpage of the new URL.

If a side pane 26 is open on the browser 102, and the user refreshes acurrent webpage to force a reload, the method 200 may start from action2 to collect the URL to reflect any changes to the webpage 30. A newrequest 24 is sent to runtime server 104 for new additional content 28to refresh the side pane 26.

For a specific URL, if there is no content from the content repository,the side pane 26 does not show any contextual data for the webpage 30(e.g., if the webpage is private) and provides personalized articlesrecommendation in the side pane 26 if the user profile is available. Ifthe user profile is not available, the side pane 26 only shows trendingarticles recommendations.

Referring now to FIG. 3 , illustrated is an example graphical userinterface (GUI) of a browser 102 displaying a webpage 302 and a sidepane 304 including a summary module 306 providing key points from thewebpage 302 summarizing the content of the webpage 302.

The runtime server 104 may determine to display the summary module 306for the webpage 302. The summary module 306 may not be appropriate forall webpages. Due to the form of the text, for some webpages, a summarymodule is not useful. For instance, a summary for poems, lyrics, onlinechats, forums, frequently asked questions (FAQ), tax forms, classifiedads, shopping pages, religious scriptures, stock quotes, may not beuseful to the user 114. In addition, due to the form of the content ofthe webpage, the content may not be able to be summarized. For example,a summary of online video games, bank accounts, login pages, hotelreservation, flight schedules, TV channels, etc. may not be appropriate.

The summary module 306 may generate the summary based on the originaldocument. The runtime server 104 may select part of the webpage 302 togenerate the summary. In addition, the runtime server 104 may generatethe summary of the webpage 302 by interpreting the content of thewebpage 302 by providing topics and key points of the document. Thetopics may be presented in a topics module 308 identifying the topics ofthe webpage 302. The identified topics and key phrases may be relevantto the content of the webpage 302 and may cover a wide spectrum ofcategories. The topics and key phrases may be clickable and the sidepane 304 may refresh with additional content related to the topic or keyphrase selected. The side pane 304 may include a navigation bar 310where the user 114 may return to a previous side pane 304.

Referring now to FIG. 4 , illustrated is an example GUI 400 of a browser102 displaying a webpage 402 and a side pane 408 including a pageoverview module 404 and a topics module 406. The topics module 406 maypresent one or more main topics of the webpage 402. The page overviewmodule 404 may provide a summary of the content of the webpage 402.

Referring now to FIG. 5 , illustrated is an example GUI 500 of a browser102 displaying a webpage 502 and a side pane 504 including a questionsand answer module 506. The question and answer module 506 may enableusers to better understand what the current webpage 502 is about. Thequestions selected by the runtime server 104 may include questions thatare interesting and not too obvious to spark the user's curiosity;questions that lead to a better understanding of the webpage 502; anddiverse questions that address the entire content of the webpage 502(instead of focusing on a subset/part of the content of the webpage502). The questions may be linkable allowing the user 114 to jump to theactual passage in the webpage 502 from where the answers are extracted.

Referring now to FIG. 6 , illustrated is an example GUI 600 of a browser102 displaying a webpage 602 and a side pane 604 including a knowledgecard module 606. The runtime server 104 may trigger a knowledge card forthe dominant entity of the webpage 602. For example, a knowledge cardmay be provided for a sports team mentioned in the webpage 602. If thewebpage 602 has multiple salient entities, the runtime server 104 mayprovide an appropriate experience highlighting all the salient entities.The knowledge cards may be dynamic, rotating and/or updating facts perthe user's session.

Referring now to FIG. 7 , illustrated is an example GUI 700 of a browser102 displaying a webpage 702 and a side pane 704 including an about thesource module 706. The about the source module 706 may provideinformation about the publisher or data source of the webpage 702.

Referring now to FIG. 8 , illustrated is an example GUI 800 of a browser102 displaying a webpage 802 and a side pane 804 including a recommendedcontent module 806 with related content to the webpage 802. The relatedcontent may help spike a user's interest in the browsing session andkeep the user 114 engaged.

The recommended content module 806 may include a more for you sectionthat provides additional related content to the webpage 802. The runtimeserver 104 may provide a related content feed to present on the sidepane 804 with recommended content for the webpage 802. The recommendedcontent may be related to similar topics as the content of the webpage802 (e.g., the same topic as an article on the webpage 802). Therecommended content may be diverse content about different topics orthemes. The recommended content may be interesting content with a titleor snippet of the content to convey the interesting factor of thecontent. The recommended content may have thumbnail images so that eachimage is unique in a related content feed. The recommended content maybe ranked with fresh content having higher rankings and placed at thetop of the related content feed. The recommended content may be fromauthoritative sources and may promote content that is non timesensitive. The related content feed may have an infinite scroll wherethe user 114 may view new content as the user 114 scrolls down the sidepane 804. The recommended content may be personalized to the user'sinterests and/or personalized based on past user interactions with thebrowser. The recommended content may add page views counts on articlesprovided to entice users to view the recommended content.

If the user 114 selects one of the articles in the related content feed,the browser 102 may open the selected article in the side pane 804. Inaddition, the browser 102 may open the selected article in a new tab.The side pane 804 may refresh with new page content following the user114 opening the related article.

The browser 102 may adjust the width of the side pane 804. In addition,the browser 102 may provide one or more overlays on top of the side pane804. For example, if the user clicks on a link to related content, therelated content may present in an overlay on top of the side pane 804.The browser 102 may also load the related content in the main windowreplacing the webpage 802.

Referring now to FIG. 9 , illustrated is an example GUI 900 of a browser102 displaying a webpage 902 and a side pane 904 including a booksmodule 906. The books module 906 may provide related books based on thecontent of the webpage 902. By providing the related books to thecontent of the webpage 902, the side pane 904 may provide the user 114with additional contextual information and allow for faster taskcompletion (e.g., buying a book).

Referring now to FIG. 10 , illustrated is an example GUI 1000 of abrowser 102 displaying a side pane 1002 including a shopping module1004. The side pane 1002 may be displayed next to, or adjacent to, awebpage. The shopping module 1004 may include products, coupons, dealsrelated to the content of the webpage. Moreover, the side pane 1002 mayfacilitate the user 114 in purchasing one of the products included inthe shopping module 1004.

Referring now to FIG. 11 , illustrated is an example GUI 1100 of abrowser 102 displaying a side pane 1102 including a travel module 1104.The side pane 1102 may be displayed on a side (e.g., a left side or aright side) of a webpage. The travel module 1104 may include a map withpoints of interests related to the content of the webpage. The travelmodule 1104 may also include the weather for a location discussed in thewebpage. The travel module 1104 may also facilitate purchasing a ticket(e.g., flight or train) to the location mentioned in the webpage.

Referring now to FIG. 12 , illustrated is an example GUI 1200 of abrowser 102 displaying a side pane 1202 including a food module 1204.The side pane 1202 may be presented below or above the webpage. The sidepane 1202 may include recipes or restaurants related to the content ofthe webpage.

Referring now to FIG. 13 , illustrated is an example GUI 1300 of anexample of a browser 102 displaying a webpage 1302 and a side pane 1304including a cooking module 1306. The webpage 1302 may include a recipefor cooking a stir fry dish. The side pane 1304 may include an overviewmodule with an about this recipe module with information extracted fromthe content of the webpage 1302 for the stir fry dish. The about thisrecipe module may include the cooking time (15 minutes), the preparationtime (10 minutes), the serving size (6), and the ingredients for thestir fry dish. A machine learning module may automatically extract thisrecipe information from the content of the webpage 1302 to summarize therecipes.

The side pane 1304 may also include a cooking module 1306 with a relatedrecipe. The related recipe may be a single recipe or a feed of relatedrecipes. The related recipes may be based on the content of the webpage1302. The related recipes may be similar to the recipe in the webpage1302. The feed of related recipes may include images of the differentrecipes with a name of the dish. The user 114 may scroll through thefeed of related recipes and may continue to receive additional recipesas the user continues to scroll through the feed of related recipes onthe side pane 1304. The user 114 may click on any related recipe andhave recipes facts load in the side pane 1304. The user may also have awebpage with the related recipe open in the side pane 1304. The relatedrecipe recommendations may be recipes from the same publisher of thewebpage the user is viewing or may be recipes from different publishersthan the webpage the user is viewing. A machine learning models maydetermine the most relevant recipes based on, for example, theingredients, cuisine styles mentioned in the webpage 1302.

Referring now to FIG. 14 , illustrated is an example GUI 1200 of abrowser 102 displaying a webpage 1402 and a side pane 1404 includingrelated videos 1406 and images 1408 to the content of the webpage 1402.

Referring now to FIG. 15 , illustrated is an example method 1500 forautomatically identifying additional content for a webpage. The actionsof the method 1500 are discussed below with reference to thearchitecture of FIG. 1 . The actions of the method 1500 may be performedby a runtime server 104 (FIG. 1 ).

At 1502, the method 1500 includes receiving a request for additionalcontent for a webpage. The runtime server 104 receives a request 24 foradditional content 28 for a webpage 30. In some implementations, therequest 24 is sent in response to a user 114 selecting a button on thebrowser 102. In some implementations, the request 24 is automaticallysent in response to a user 114 accessing the webpage 30 using thebrowser 102.

At 1504, the method 1500 includes classifying a URL of the webpage. Theserver 104 classifies the URL of the webpage 30. In someimplementations, classifying the URL of the webpage 30 is performed byone or more machine learning models. In some implementations, the one ormore machine learning models include a transformer machine learningmodel. In some implementations, the one or more machine learning modelsinclude a classification model, a binary model, a regression model,and/or a language model. The machine learning models identify a domain(e.g., travel, sports, cooking, shopping) of the URL of the webpage 30and determine the classification of the URLs of the webpages 30 based onthe domain.

At 1506, the method 1500 includes triggering a side pane experience forthe additional content based on the classification of the webpage. Theserver 104 triggers a side pane 26 experience for the additional content28 based on the classification of the webpage 30. In someimplementations, triggering the side pane experience for the additionalcontent is performed by one or more machine learning models. In someimplementations, the one or more machine learning models include atransformer machine learning model. In some implementations, the one ormore machine learning models include a classification model, a binarymodel, a regression model, and/or a language model. The machine learningmodels selects one or more modules for presenting the additional content28 based on the classification of the URL of the webpage 30.

In some implementations, triggering the side pane experience identifiesone or more modules to include in the side pane for presenting theadditional content. In some implementations, the one or more modules aredefault modules. The server 104 may select different modules fordifferent webpage domains. Example modules include, but are not limitedto, a summary module, a questions and answer module, a recommendedcontent module, a personalized content module, a page overview module,an explore module, a topics module, a key points module, a knowledgecard module, a source module, a cooking module, a food module, a travelmodule, a shopping module, or a books module. In some implementations,the server 104 performs an optimization of the one or more modules thatincludes ranking the one or more modules for determining an order forpresenting the one or more modules in the side pane based on the contextof the webpage 30. Due to the form and/or content of the webpage 30,different modules are more useful as compared to other modules for thewebpage 30. For example, if the context of the webpage 30 is shopping,the summary module has a lower ranking as compared to an explore modulethat allows the user to explore additional products related to theproducts on the webpage 30. Another example includes if the context ofthe webpage 30 is an article on a virus, the summary module and keypoints modules have a higher ranking as compared to a shopping module.

At 1508, the method 1500 includes aggregating additional contentobtained from one or more data sources for the side pane experience. Theserver 104 aggregates the additional content 28 obtained from the one ormore data sources 106 for the side pane experience. In someimplementations, aggregating the additional content 28 for the side paneexperience is performed by one or more machine learning models. In someimplementations, the one or more data sources 106 include different dataproviders for different content. In some implementations, the one ormore data sources 106 include document indexes or content data stores.

At 1510, the method 1500 includes sending the additional content to abrowser to be presented in a side pane adjacent to the webpage. Theserver 104 sends the additional content 28 to a browser 102 to bepresented in a side pane 26 nearby or adjacent to the webpage 30. Insome implementations, the additional content includes images or videos.

In some implementations, the server 104 performs a whole pageoptimization to organize the additional content 28 for rendering in theside pane 26. The whole page optimization includes applying a ranking tothe additional content 28 to determine an order for presenting theadditional content 28 in the side pane 26. For example, the ranking isbased on a relevancy of the additional content 28 to the context. Insome implementations, the relevancy is determined by identifyingentities or topics in the additional content 28 that match identifiedentities or topics in the content of the webpage 30. A threshold levelis set and if the number of matching entities or topics exceeds thethreshold level, the additional content 28 is relevant to the content ofthe webpage 30. An example threshold level is four matching entities ortopics. If the number of matching entities or topics is below thethreshold level, the additional content 28 is not relevant to thecontent of the webpage 30. The additional content 28 with the matchingentities or topics that has a higher ranking relative to the additionalcontent 28 with the number of matching entities or topics is below thethreshold level.

In some implementations, the server 104 stores the additional content 28in a session datastore 110 for a user 114. The session datastore 110provides a snapshot of a current user session and identifies theadditional content 28 presented to the user 114 in the side pane 26during the current user session.

In some implementations, the server 104 determines whether the request24 is for a newly accessed webpage, and if the request 24 the request 24is for a newly accessed webpage, the server 104 performs theclassification (1504) of the URL for the webpage 30. If the request 24is from a user interaction in the side pane 26 for the webpage 30, theserver 104 accesses the current user session for the webpage 30 from thesession datastore 110 and sends different additional content 28 to thebrowser 102 to be presented in the side pane 26 adjacent to the webpage30. User interactions include, but are not limited to, clicking on theadditional content, scrolling up to a top portion of the side pane, orscrolling down to a bottom portion of the side pane. The server 104stores the user interaction as part of the current user session for thewebpage 30 in the session datastore 110.

Referring now to FIG. 16 , illustrated is an example method 1600 forpresenting additional content for a webpage. The actions of the method1600 are discussed below with reference to the architecture of FIG. 1 .The actions of the method 1600 may be performed by a browser 102 (FIG. 1).

At 1602, the method 1600 includes identifying a uniform resource locator(URL) of a webpage accessed by a browser. The browser 102 identifies theURL of a webpage 30 accessed by a user 114.

At 1604, the method 1600 includes sending a request for additionalcontent. The browser 102 sends a request 24 for additional content 28.The request 24 includes the URL of the webpage 30. In someimplementations, the request 24 for the additional content 28 is sent inresponse to a user 114 selecting a button or icon on the browser 102that is continuously enabled on the browser 102 when the user 114 isbrowsing websites. In some implementations, the request 24 for theadditional content 28 automatically is sent in response to one or moreof the browser 102 accessing the webpage 30 or in response to the URL ofthe webpage 30 matching one or more domains.

At 1606, the method 1600 includes receiving the additional content. Thebrowser 102 receives the additional content 28. In some implementations,the additional content 28 is based on a context of the webpage 30. Thecontext of the webpage 30 includes the content of the webpage 30.

At 1608, the method 1600 includes presenting the additional content in aside pane next to the webpage. The browser 102 presents the additionalcontent 28 in a side pane 26 next to or adjacent to the webpage 30. Insome implementations, the browser 102 resizes the side pane 26 by one ormore of expanding a width of the side pane 26, reducing a width of theside pane 26, expanding a height of the side pane 26, or reducing aheight of the side pane 26. In some implementations, the browser 102receives a selection of the additional content 28 and opens the selectedadditional content 28 within the side pane 26 or in a new tab of thebrowser 102.

As illustrated in the foregoing discussion, the present disclosureutilizes a variety of terms to describe features and advantages of themodel evaluation system. Additional detail is now provided regarding themeaning of such terms. For example, as used herein, a “machine learningmodel” refers to a computer algorithm or model (e.g., a classificationmodel, a binary model, a regression model, a language model, an objectdetection model) that can be tuned (e.g., trained) based on traininginput to approximate unknown functions. For example, a machine learningmodel may refer to a neural network (e.g., a convolutional neuralnetwork (CNN), deep neural network (DNN), recurrent neural network(RNN)), or other machine learning algorithm or architecture that learnsand approximates complex functions and generates outputs based on aplurality of inputs provided to the machine learning model. As usedherein, a “machine learning system” may refer to one or multiple machinelearning models that cooperatively generate one or more outputs based oncorresponding inputs. For example, a machine learning system may referto any system architecture having multiple discrete machine learningcomponents that consider different kinds of information or inputs.

The techniques described herein may be implemented in hardware,software, firmware, or any combination thereof, unless specificallydescribed as being implemented in a specific manner. Any featuresdescribed as modules, components, or the like may also be implementedtogether in an integrated logic device or separately as discrete butinteroperable logic devices. If implemented in software, the techniquesmay be realized at least in part by a non-transitory processor-readablestorage medium comprising instructions that, when executed by at leastone processor, perform one or more of the methods described herein. Theinstructions may be organized into routines, programs, objects,components, data structures, etc., which may perform particular tasksand/or implement particular data types, and which may be combined ordistributed as desired in various implementations.

Computer-readable mediums may be any available media that can beaccessed by a general purpose or special purpose computer system.Computer-readable mediums that store computer-executable instructionsare non-transitory computer-readable storage media (devices).Computer-readable mediums that carry computer-executable instructionsare transmission media. Thus, by way of example, and not limitation,implementations of the disclosure can comprise at least two distinctlydifferent kinds of computer-readable mediums: non-transitorycomputer-readable storage media (devices) and transmission media.

As used herein, non-transitory computer-readable storage mediums(devices) may include RAM, ROM, EEPROM, CD-ROM, solid state drives(“SSDs”) (e.g., based on RAM), Flash memory, phase-change memory(“PCM”), other types of memory, other optical disk storage, magneticdisk storage or other magnetic storage devices, or any other mediumwhich can be used to store desired program code means in the form ofcomputer-executable instructions or data structures and which can beaccessed by a general purpose or special purpose computer.

The steps and/or actions of the methods described herein may beinterchanged with one another without departing from the scope of theclaims. In other words, unless a specific order of steps or actions isrequired for proper operation of the method that is being described, theorder and/or use of specific steps and/or actions may be modifiedwithout departing from the scope of the claims.

The articles “a,” “an,” and “the” are intended to mean that there areone or more of the elements in the preceding descriptions. The terms“comprising,” “including,” and “having” are intended to be inclusive andmean that there may be additional elements other than the listedelements. Additionally, it should be understood that references to “oneimplementation” or “an implementation” of the present disclosure are notintended to be interpreted as excluding the existence of additionalimplementations that also incorporate the recited features. For example,any element described in relation to an implementation herein may becombinable with any element of any other implementation describedherein. Numbers, percentages, ratios, or other values stated herein areintended to include that value, and also other values that are “about”or “approximately” the stated value, as would be appreciated by one ofordinary skill in the art encompassed by implementations of the presentdisclosure. A stated value should therefore be interpreted broadlyenough to encompass values that are at least close enough to the statedvalue to perform a desired function or achieve a desired result. Thestated values include at least the variation to be expected in asuitable manufacturing or production process, and may include valuesthat are within 5%, within 1%, within 0.1%, or within 0.01% of a statedvalue.

A person having ordinary skill in the art should realize in view of thepresent disclosure that equivalent constructions do not depart from thespirit and scope of the present disclosure, and that various changes,substitutions, and alterations may be made to implementations disclosedherein without departing from the spirit and scope of the presentdisclosure. Equivalent constructions, including functional“means-plus-function” clauses are intended to cover the structuresdescribed herein as performing the recited function, including bothstructural equivalents that operate in the same manner, and equivalentstructures that provide the same function. It is the express intentionof the applicant not to invoke means-plus-function or other functionalclaiming for any claim except for those in which the words ‘means for’appear together with an associated function. Each addition, deletion,and modification to the implementations that falls within the meaningand scope of the claims is to be embraced by the claims.

INDUSTRIAL APPLICABILITY

The present disclosure relates to systems and methods for identifyingadditional content for a webpage. The systems and methods create a sidepane that is placed next to or adjacent to a webpage to supplement awebpage that a user is viewing. The side pane provides additionalinformation and/or additional content to the user and the side paneremains with the main view of the webpage. The additional contentprovides webpage insights, such as, page summary, page topics, and/orkey entities that help the users consume the current webpage's contentand/or recommend contextual or personalized content (related articles)for the users to further explore. In some implementations, theadditional content comes from a plurality of sources. In someimplementations, the additional content is based on the context of thewebpage currently being browsed by the user. In some implementations,the additional content includes content derived from the web page.

In some implementations, the side pane is opened reactively based on theuser's input. The user may click on a toolbar icon on the browser and,in response to the user clicking the toolbar icon, the side pane openswith the additional content. One example includes, in response to a useraccessing a webpage for a sports team and clicking on a toolbar icon forthe side pane, the system identifies an entity card for the sports teamas the additional content and presents the side pane adjacent to thewebpage with the entity card.

In some implementations, the side pane is opened automatically based onthe user accessing a webpage. One example includes, in response to auser accessing a webpage with an article describing throwing a dinnerparty that included different recipes for the dinner party, the systemidentifies additional content and presents the additional content in aside pane to the right of the webpage. The additional content includesthe recipes mentioned in the article for the dinner party. Theadditional content includes information about the recipes mentioned inthe article (e.g., ingredients, cooking time, service portions).

In some implementations, the side pane has one or more moduleshighlighting the additional content. The modules of the side pane helpthe user consume the content, help the user explore additional content,and/or help keep the user engaged in the browsing experience. In someimplementations, the modules included in the side pane vary based on thedomain of the webpage. For example, news, finance, shopping, weather,maps, sports, shopping, cooking, and travel domains include differentmodules in the side pane. In some implementations, the modules on theside pane include default modules (e.g., overview module, source module,explore module) that are included in webpages regardless of the domainof the webpage.

In some implementations, the modules of the side pane are generated bymachine learning models reviewing the content of the webpage andassociating the content of the webpages to topics mentioned in thewebpage or topics related to the content mentioned in the webpage.

The systems and methods may be used as a reading assistant and a contentdiscovery engine. The systems and methods leverage natural languageunderstanding, machine reaching comprehension, and personalizedrecommendation techniques to make content relevant to a users' currenttasks and long-term interests. In some implementations, the systems andmethods proactively provide relevant information and enable furtherexplorations without taking the users out of the current task workflow.

One technical advantage of the systems and methods is providingadditional content powered by a browser, and thus, user engagement withthe browser may increase. The systems and methods improve userefficiency by organizing and arranging the additional content intomodules. The systems and methods also reduce the need for users tonavigate to multiple websites, and thus, reduce user inputs and/orclicks. The systems and methods also improve trust of the users asseveral of the modules allow the users to understand the source andreputation of the websites. Moreover, the systems and methods improvethe accessibility of websites that do not otherwise have goodaccessibility options.

The systems and methods gives users insight on the current viewed webdocument, enables in-depth exploration of the current topic, suggestionof new topics, understanding of various perspectives, and/or offersother in-context experiences to the users.

-   -   (A1) Some implementations include a method for automatically        identifying additional content for a webpage. The method        includes receiving (1502) a request (e.g., request 24) for        additional content for the webpage (e.g., webpage 30), the        request includes a uniform resource locator (URL) of the        webpage. The method includes classifying (1504) the URL of the        webpage. The method includes triggering (1506) a side pane        experience for the additional content based on the        classification of the webpage. The method includes aggregating        (1508) additional content (e.g., additional content 28) obtained        from one or more data sources (e.g., data sources 106) for the        side pane experience, the additional content is obtained based        on a context of the webpage. The method includes sending (1510)        the additional content to a browser (e.g., browser 102) to be        presented in a side pane (e.g., side pane 26) adjacent to the        webpage (e.g., webpage 30).    -   (A2) In some implementations of the method of A1, the request is        sent in response to a user selecting a button on the browser.    -   (A3) In some implementations of the method of A1 or A2, the        request is automatically sent in response to a user accessing        the webpage using the browser.    -   (A4) In some implementations of the method of any of A1-A3,        classifying the URL of the webpage is performed by one or more        machine learning models by identifying a domain of the URL of        the webpage and determining a classification of the URL of the        webpage based on the domain; and the one or more machine        learning models include a classification model, a transformer        model, a binary model, a regression model, or a language model.    -   (A5) In some implementations of the method of any of A1-A4,        triggering the side pane experience identifies one or more        modules to include in the side pane for presenting the        additional content, and different modules are selected for        different webpage domains.    -   (A6) In some implementations of the method of any of A1-A5, the        one or more modules are default modules.    -   (A7) In some implementations of the method of any of A1-A6, the        one or more modules include a summary module, a questions and        answer module, a recommended content module, a personalized        content module, a page overview module, an explore module, a        topics module, a key points module, a knowledge card module, a        source module, a cooking module, a food module, a travel module,        a shopping module, or a books module.    -   (A8) In some implementations, the method of any of A1-A7        includes performing an optimization of the one or more modules        that includes ranking the one or more modules for determining an        order for presenting the one or more modules in the side pane        based on the context of the webpage.    -   (A9) In some implementations of the method of any of A1-A8, the        additional content includes images or videos.    -   (A10) In some implementations, the method of any of A1-A9        includes performing a whole page optimization to organize the        additional content for rendering in the side pane.    -   (A11) In some implementations of the method of any of A1-A10,        the whole page optimization includes applying a ranking to the        additional content to determine an order for presenting the        additional content in the side pane, and the ranking is based on        a relevancy of the additional content to the context of the        webpage.    -   (A12) In some implementations of the method of any of A1-A11,        the relevancy is determined by identifying entities in the        additional content that match identified entities in the webpage        and comparing the matching entities to a threshold level; if the        matching entities exceed the threshold level, determining that        the additional content is relevant to the context of the webpage        and providing a higher ranking to the additional content; and if        the matching entities are below the threshold level, determining        that the additional content is not relevant to the context of        the webpage and providing a lower ranking to the additional        content.    -   (A13) In some implementations, the method of any of A1-A12        includes storing the additional content in a session datastore        for a user, and the session datastore provides a snapshot of a        current user session and identifies the additional content        presented to the user in the side pane during the current user        session; determining whether the request is for a newly accessed        webpage; if the request is for a newly accessed webpage,        performing the classification of the URL for the webpage; and if        the request is from a user interaction in the side pane for the        webpage, accessing the current user session for the webpage from        the session datastore and sending different additional content        to the browser to be presented in the side pane adjacent to the        webpage.    -   (A14) In some implementations, the method of any of A1-A13        includes storing the user interaction as part of the current        user session for the webpage in the session datastore, and the        user interaction includes one or more of clicking on the        additional content, scrolling up to a top portion of the side        pane, or scrolling down to a bottom portion of the side pane.    -   (A15) In some implementations of the method of any of A1-A14,        the one or more data sources include different data providers        for different content and the one or more data sources include        document indexes or content data stores.    -   (A16) In some implementations of the method of any of A1-A15,        triggering the side pane experience for the additional content        and aggregating the additional content for the side pane        experience is performed by one or more machine learning models        selecting a plurality of modules for presenting the additional        content based on an identified domain for the webpage.    -   (B1) Some implementations include a method for presenting        additional content for a webpage. The method includes        identifying (1602) a uniform resource locator (URL) of a webpage        (e.g., webpage 30) accessed by a browser (e.g., browser 102).        The method includes sending (1604) a request (e.g., request 24)        for additional content, where the request includes the URL of        the webpage. The method includes receiving (1606) the additional        content (e.g., additional content 28) based on a context of the        webpage of the webpage. The method includes presenting (1608)        the additional content in a side pane (e.g., side pane 26) next        to the webpage.    -   (B2) In some implementations of the method of B1, sending the        request for the additional content occurs in response to a user        selecting a button or icon on the browser that is continuously        enabled on the browser when the user is browsing websites.    -   (B3) In some implementations of the method of B1 or B2, sending        the request for the additional content automatically occurs in        response to one or more of the browser accessing the webpage or        in response to the URL of the webpage matching one or more        domains.    -   (B4) In some implementations, the method of any of B1-B3        includes resizing the side pane by one or more of expanding a        width of the side pane, reducing a width of the side pane,        expanding a height of the side pane, or reducing a height of the        side pane.    -   (B5) In some implementations, the method of any of B1-B4        includes receiving a selection of the additional content; and        opening the selected additional content in the side pane or in a        new tab of the browser.

Some implementations include a system (e.g., environment 100). Thesystem includes one or more processors; memory in electroniccommunication with the one or more processors; and instructions storedin the memory, the instructions being executable by the one or moreprocessors to perform any of the methods described here (e.g., A1-A15,B1-B5).

Some implementations include a computer-readable storage medium storinginstructions executable by one or more processors to perform any of themethods described here (e.g., A1-A16, B1-B5).

Some implementations include a browser (e.g., browser 102) executable byone or more processors to perform any of the methods described herein(e.g., A1-A16, B1-B5).

Some implementations include a server (e.g., server 104) executable byone or more processors to perform any of the methods described herein(e.g., A1-A16, B1-B5).

The present disclosure may be embodied in other specific forms withoutdeparting from its spirit or characteristics. The describedimplementations are to be considered as illustrative and notrestrictive. The scope of the disclosure is, therefore, indicated by theappended claims rather than by the foregoing description. Changes thatcome within the meaning and range of equivalency of the claims are to beembraced within their scope.

What is claimed is:
 1. A method for automatically identifying additionalcontent for a webpage, comprising: receiving a request for additionalcontent for the webpage, wherein the request includes a uniform resourcelocator (URL) of the webpage; classifying the URL of the webpage;aggregating additional content, at least a portion of which is obtainedfrom one or more data sources based on a context of the webpage;triggering a side pane experience including opening a side panedisplaying a plurality of modules for presenting the additional content,the plurality of modules having different module types each defining adifferent organization and presentation of at least a portion of theadditional content; sending the additional content to a browser to bepresented in the one or more modules in the side pane adjacent to thewebpage; determining whether to display an overview type of module thatpresents a first portion of the additional content, the first portion ofthe additional content being content that is derived from webpagecontent of the webpage; and based on the determination, selectivelydisplaying the overview type of module.
 2. The method of claim 1,wherein the request is sent in response to the user selecting a buttonon the browser.
 3. The method of claim 1, wherein the request isautomatically sent in response to the user accessing the webpage usingthe browser.
 4. The method of claim 1, wherein classifying the URL ofthe webpage is performed by one or more machine learning models byidentifying a domain of the URL of the webpage and determining aclassification of the URL of the webpage based on the domain, andwherein the one or more machine learning models include a classificationmodel, a transformer model, a binary model, a regression model, or alanguage model.
 5. The method of claim 1, wherein different modules areselected for different webpage domains.
 6. The method of claim 5,wherein the one or more modules types further include a default module,a summary module, a questions and answer module, a recommended contentmodule, a personalized content module, a page overview module, anexplore module, a topics module, a key points module, a knowledge cardmodule, a source module, a cooking module, a food module, a travelmodule, a shopping module, or a books module.
 7. The method of claim 5,further comprising: performing an optimization of the one or moremodules, wherein the optimization includes ranking the one or moremodules for determining an order for presenting the one or more modulesin the side pane based on the context of the webpage.
 8. The method ofclaim 1, wherein the additional content includes images or videos. 9.The method of claim 1, further comprising: performing a whole pageoptimization to organize the additional content for rendering in theside pane, wherein the whole page optimization includes applying aranking to the additional content to determine an order for presentingthe additional content in the side pane based on a relevancy of theadditional content to the context of the webpage.
 10. The method ofclaim 9, wherein the relevancy is determined by identifying entities inthe additional content that match identified entities in the webpage andcomparing the matching entities to a threshold level; if the matchingentities exceed the threshold level, determining that the additionalcontent is relevant to the context of the webpage and providing a higherranking to the additional content; and if the matching entities arebelow the threshold level, determining that the additional content isnot relevant to the context of the webpage and providing a lower rankingto the additional content.
 11. The method of claim 1, furthercomprising: storing the additional content in a session datastore forthe user, wherein the session datastore provides a snapshot of a currentuser session and identifies the additional content presented to the userin the side pane during the current user session; determining whetherthe request is for a newly accessed webpage; if the request is for anewly accessed webpage, performing the classification of the URL for thewebpage; and if the request is from a user interaction in the side panefor the webpage, accessing the current user session for the webpage fromthe session datastore and sending different additional content to thebrowser to be presented in the side pane adjacent to the webpage. 12.The method of claim 11, further comprising: storing the user interactionas part of the current user session for the webpage in the sessiondatastore, wherein the user interaction includes one or more of clickingon the additional content, scrolling up to a top portion of the sidepane, or scrolling down to a bottom portion of the side pane.
 13. Themethod of claim 1, wherein the one or more data sources includedifferent data providers for different content and the one or more datasources include document indexes or content data stores.
 14. The methodof claim 1, wherein triggering the side pane experience for theadditional content and aggregating the additional content for the sidepane experience is performed by one or more machine learning modelsselecting a plurality of modules for presenting the additional contentbased on an identified domain for the webpage.
 15. The method of claim1, wherein triggering the side pane experience includes customtriggering based on partner services or rule-based triggering the sidepane experience based on the classification of the URL matching a listof URLs or a list of domains, and the method further comprising:preventing triggering the side pane experience for the additionalcontent in response to determining that the classification of the URL ofthe webpage is a private webpage.
 16. The method of claim 1, whereindetermining to deploy the overview type of module is based ondetermining whether the first portion of the additional content isuseful to a user and determining an ability to generate the firstportion of the additional content.
 17. The method of claim 1, whereinthe first portion of the additional content summarizes the webpagecontent.
 18. The method of claim 1, wherein the first portion of theadditional content includes a plurality of questions relevant to thewebpage content, and answers provided by the webpage content.
 19. Asystem, comprising: a memory to store data and instructions; and atleast one processor operable to communicate with the memory, wherein theat least one processor is operable to: receive a request for additionalcontent for a webpage, wherein the request includes a uniform resourcelocator (URL) of the webpage; classify the URL of the webpage; aggregateadditional content, at least a portion of which is obtained from one ormore data sources based on a context of the webpage; trigger a side paneexperience including opening a side pane displaying one or more modulesfor presenting the additional content, the one or more modules havingdifferent module types each defining a different organization andpresentation of at least a portion of the additional content; send theadditional content to a browser to be presented in the one or moremodules in the side pane adjacent to the webpage; and display an exploretype of module that presents a first portion of the additional contentwhich provides content recommendations related to the webpage contentbased at least in part on a user's past interactions with the browser.20. The system of claim 19, wherein the at least one processor isfurther operable to classify the URL of the webpage by identifying adomain of the URL of the webpage and determining a classification of theURL of the webpage based on the domain.
 21. The system of claim 19,wherein different modules are selected for different domains.
 22. Thesystem of claim 19, wherein the at least one processor is furtheroperable to: perform a whole page optimization to organize theadditional content for rendering in the side pane, wherein the wholepage optimization includes applying a ranking to the additional contentto determine an order for presenting the additional content in the sidepane based on a relevancy of the additional content to the context ofthe webpage.
 23. A computer-readable medium storing instructionsexecutable by a computer device, comprising: at least one instructionfor causing the computer device to receive a request for additionalcontent for a webpage, wherein the request includes a uniform resourcelocator (URL) of the webpage; at least one instruction for causing thecomputer device to classify the URL of the webpage; at least oneinstruction for causing the computer device to aggregate additionalcontent, at least a portion of which is obtained from one or more datasources based on a context of the webpage; at least one instruction forcausing the computer device to trigger a side pane experience includingopening a side pane displaying one or more modules for presenting theadditional content, the one or more modules having different moduletypes each defining a different organization and presentation of atleast a portion of the additional content; at least one instruction forcausing the computer device to send the additional content to a browserto be presented in the one or more modules in the side pane adjacent tothe webpage; and at least one instruction for causing the computerdevice to display a source type of module that presents a first portionof the additional content that provides information about the source ofthe webpage.